#!/usr/bin/env python

# Copyright (c) 2019 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS.  All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.

import argparse
import logging
import subprocess
import sys


def main():
  parser = argparse.ArgumentParser()
  parser.add_argument('--isolated-script-test-output')
  parser.add_argument('--isolated-script-test-perf-output')
  args, unrecognized_args = parser.parse_known_args()

  test_command = _ForcePythonInterpreter(unrecognized_args)
  if args.isolated_script_test_output:
    test_command += [
        '--isolated_script_test_output', args.isolated_script_test_output
    ]
  if args.isolated_script_test_perf_output:
    test_command += [
        '--isolated_script_test_perf_output=' +
        args.isolated_script_test_perf_output
    ]
  logging.info('Running %r', test_command)

  return subprocess.call(test_command)


def _ForcePythonInterpreter(cmd):
  """Returns the fixed command line to call the right python executable."""
  out = cmd[:]
  if out[0] == 'python':
    out[0] = sys.executable
  elif out[0].endswith('.py'):
    out.insert(0, sys.executable)
  return out


if __name__ == '__main__':
  logging.basicConfig(level=logging.INFO)
  sys.exit(main())
